﻿import { IFileAttachment, ISysOrg, ISysGroup, ISysJobPosition } from '/@/views/fileattachment/api/interface'

export interface ISysHrInterviewRequestBill {
  RecruitPoolId: string | null;
  RecruitNo: string | null;
  ID?: string | null;
  ArrivalDate: Date | null;
  CurrentSalary: string | null;
  ExpectedSalary: string | null;
  WorkExperience: string | null;
  InitialTestTime: Date | null;
  InitialResult: string | null;
  InitialComment: string | null;
  ReExamTime: Date | null;
  ReExamResult: string | null;
  ReExamComment: string | null;
  FinalResult: string | null;
  FinalRemark: string | null;
  RejectReason: string | null;
  BillCode: string | null;
  BillStatus: number | null | string;
  WorkflowStatus: number | null | string;
  Remark: string | null;
  Approver: string | null;
  ApprovalTime: Date | null;
  Name: string | null;
  StaffNo: string | null;
  BirthDate: Date | null;
  Age: number | null;
  Gender: number | null;
  Ethnicity: number | null; 
  HighestEducation: number | null;
  MaritalStatus: number | null;
  PhotoId: string | null;
  Photo?: IFileAttachment;
  IdCardNo: string | null;
  IdCardFrontPhotoId: string | null;
  IdCardFrontPhoto?: IFileAttachment;
  IdCardBackPhotoId: string | null;
  IdCardBackPhoto?: IFileAttachment;
  IdCardExpiryDate: Date | null | string;
  HouseholdRegistration: string | null;
  NativePlace: string | null;
  PoliticalStatus: number | null;
  PartyJoinDate: Date | null;
  PartyBranch: string | null;
  ArchiveLocation: string | null;
  ArchiveNo: string | null;
  ArchiveTransferOutDate: Date | null;
  ArchiveTransferInDate: Date | null;
  HomeAddress: string | null;
  Phone: string | null;
  Email: string | null;
  SalaryBank: string | null;
  SalaryAccount: string | null;
  BonusBank: string | null;
  BonusAccount: string | null;
  OrgId: string | null;
  Org?: ISysOrg;
  GroupId: string | null;
  Group?: ISysGroup;
  JobPositionId: string | null;
  JobPosition?: ISysJobPosition;
  ResumeId: string | null;
  Resume?: IFileAttachment;
  HireDate: Date | null;
  ConfirmationDate: Date | null;
  EmploymentType: number | null;
  ContractType: number | null;
  ContractNo: string | null;
  ContractStartDate: Date | null;
  ContractEndDate: Date | null;
  ResignationDate: Date | null;
  ResignationReason: string | null;
  ResignationType: number | null;
  State: number | null;
  BloodType: number | null;
  Hobbies: string | null;
  IsVeteran: string | null;
  VeteranCertificateId: null | string;
  VeteranCertificate?: IFileAttachment;
  WorkYears: number | null;
  CompanyYears: number | null;
  JoinWorkDate: Date | null;
  ArchiveAgeDate: Date | null;
  Order: number | null;
  RecruitPublishRequestBillId: string | null;
  IsLaborRelationshipTerminated: boolean | null | string;
}

export interface ISysHrInterviewRequestBillVm {
  Entity: ISysHrInterviewRequestBill;
  ActionName: string | null;
  IsMyApprove: boolean;
  Remark: string | null;
}

export interface ISysHrInterviewRequestBillView extends ISysHrInterviewRequestBill {

  ActionNames?: string;

}

export interface ISysHrInterviewRequestBillQuery {
  BillCode?: string
  BillStatus?: number
  WorkflowStatus?: number
  Approver?: string
  ApprovalTime?: Date
  Name?: string
  StaffNo?: string
  Ethnicity?: number
  MaritalStatus?: number
  Phone?: string
  OrgId?: string
  JobPositionId?: string
  EmploymentType?: number
  State?: number
}
